﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebComponents.Data;
using WebComponents;
using WebComponents.Security;
using GBIT.Web;

public partial class ThemNguoiDung : UserControlBase {
  string id = "";
  protected void Page_Load(object sender, EventArgs e) {
    if ((Session["login"] as UserInfo).IsApproved == false) {
      Response.Redirect("default.aspx");
    }
    if (Request.Params["id"] != null)
      id = ConvertType.ToString(Request.Params["id"]);
    this.Title = "Người dùng";
    this.TaskTitle = "Thêm mới";
    if (!Page.IsPostBack && id != "") {
      UserInfo user = UserController.GetByUserId(new Guid(id));
      if (user != null) {
        txtEmail.Text = user.Email;
        txtUserName.Text = user.UserName;
        txtUserName.Enabled = false;
        cmbGroup.SelectedIndex = -1;
        if (user.IsApproved)
          cmbGroup.SelectedIndex = 0;
        else
          cmbGroup.SelectedIndex = 1;
        this.TaskTitle = "Cập nhật";
      }
    }
    this.SaveEnabled = true;   
  } 
  protected override void OnSaveRecord() {
    UserInfo user = null;
    if (id != "")
      user = UserController.GetByUserId(new Guid(id));
    if (user == null)
      user = new UserInfo();
    user.UserName = txtUserName.Text;
    user.Email = txtEmail.Text;    
    if (id == "") {
      user.Email = txtEmail.Text;
      user.Password = Security.EncodingPass(txtPass.Text, "gbit");
      user.IsApproved = Convert.ToBoolean(cmbGroup.SelectedValue);
      user.CreateDate = DateTime.Now;
      user.LastLoginDate = DateTime.Now;
      int kq = UserController.Insert(user);
      if (kq == 1)
        Security.ShowClientMessage(Page, "Thêm người dùng thành công", string.Format("?mod={0}", ConvertType.Encode("NguoiDung/NguoiDungList.ascx")));
      else
        Security.ShowClientMessage(Page, "Trùng tên đăng nhập");
    } else {
      user.IsApproved = Convert.ToBoolean(cmbGroup.SelectedValue);
      user.Password = Security.EncodingPass(txtPass.Text, "gbit");
      int kq = UserController.Update(user);
      if (kq == 1)
        Security.ShowClientMessage(Page, "Cập nhật thông tin người dùng thành công", string.Format("?mod={0}", ConvertType.Encode("NguoiDung/NguoiDungList.ascx")));
      else
        Security.ShowClientMessage(Page, "Trùng tên đăng nhập");
    }
  }
}
